6.6. İki Yönlü Bağlantılı Liste Uygulaması (double linked list) İki-yönlü bağlantılı listede şekilde görüldüğü gibi iki tane bağlantı bilgisi vardır; birisi o düğümün arkasındaki diğeri önündeki düğümü işaret eder. Dolayısıyla liste üzerinde iki yönlü hareket edilebilir; bu, araya düğüm ekleme ve aradan düğüm silme gibi işlemlerin daha kolay yapılmasını sağlar. Bu ayrıtta tek-yönlü bağlantılı liste için verilen uygulama iki-yönlü bağlantılı listeye uyarlanmıştır. Kayıtın veri alanında iki tane bilgi vardır; bağlantı bilgisi liste iki-yönlü olduğu için iki tane olacaktır. Bağlantı bilgilerinin on ve arka olarak adlandırıldığı varsayılırsa bir düğüm için topluluk bildirimi C dilinde soldaki gibi yapılır:
|
|
Listenin başını ve sonunu tutacak ilk2 ve son2 adlı değişkenler de aşağıdaki gibi bildirilir. BLISTE2 *ilk2=NULL, *son2=NULL İki-yönlü bağlantı liste üzerinde ekleme, silme gibi işlemler yapılırken hem arka hem de ön bağlantıları kurulmalıdır. Tek yönlü de yalnızca arka bağlantı olduğu için daha yalın gerçekleştirilmiştir. İki yönlü bağlantıda özellikle silme işlemi kolayca yapılır. Çünkü bağlantıların koparılıp yeniden kurulması için, liste üzerinde iki yönlü hareket edilebilir. |